
import java.io.File;
import java.util.List;

/**
 * @author Zhang Guangyong
 * @desacription 文件操作工具类
 * @date 2019年11月21日 13:52
 */
public class FileUtil {


    /**
     * 深度遍历方法
     *
     * @param path    : 查找根路径
     * @param type    : 查找方使
     * @param keyWord : 查找关键字
     * @author 张广勇
     * @date 2019/11/21 13:54
     */
    public static void deepFind(String path, int type, List<String> keyWord, List<File> files) {
        File root = new File(path);
        if (root.isDirectory()) {
            File[] children = root.listFiles();
            if (children != null) {
                for (File item : children) {
                    if (item.isDirectory()) {
                        deepFind(item.getPath(), type, keyWord, files);
                    } else {
                        // 添加判断
                        if (type == 0) {
                            files.add(item);
                        } else {
                            String suffix = item.getName().substring(item.getName().lastIndexOf(".") + 1).toLowerCase();
                            if (keyWord.contains(suffix)) {
                                files.add(item);
                            }
                        }
                    }
                }
            }
        }
    }

    /**
     * 文件移动方法（删除原文件）
     *
     * @param files : 要移动的文件集合
     * @author 张广勇
     * @date 2019/11/21 14:23
     */
    public static void filesMove(List<File> files, String toPath) {
        for (File file : files) {
            if (file.renameTo(new File(toPath + "\\" + file.getName()))) {
                System.out.println("移动文件" + file.getName() + "成功");
            }
        }
    }
}
